---
title: "Del perreo hasta el suelo y otros géneros"
output:
flexdashboard::flex_dashboard:
orientation: columns
social: menu
source_code: embed
---
```{r, message = FALSE, echo= FALSE}
library(dplyr)
library(ggplot2)
library(kableExtra)
library(readxl)
#library(tidyr)
library(stringr)
library(janitor)
library(wordcloud)
library(RColorBrewer)
library(wordcloud2)
library(tm)
library(tidyverse)
library(hrbrthemes)
library(viridis)
rm(list = ls())
`%notin%` = function(x,y) !(x %in% y)
source("funciones.R")
```
```{r, message = FALSE, echo= FALSE}
library(stopwords)
stopwords <- c(stopwords("es"), stopwords("en"))
stopwords <- c(stopwords, chartr("áéíóú", "aeiou", stopwords)) %>%
unique()
```
```{r message=FALSE, warning=FALSE, echo=FALSE}
df <- read_excel("data/proyecto canciones.xlsx") %>%
clean_names()
df.split <- split(df, df$genero)
n <- length(df.split)
list.processed <- list()
list.freq <- list()
vecgeneros <- c()
```
```{r message=FALSE, warning=FALSE, echo=FALSE}
for(i in 1:n){
df.temp <- df.split[[i]]
genero <- df.split[[i]]$genero %>% unique()
resultado <- procesamiento(df.temp, genero, stemming = FALSE,
exclude_stopwords = TRUE, nmin = 1)
vecgeneros[i] <- genero
list.processed[[i]] <- resultado[[1]]
list.freq[[i]] <- resultado[[2]]
}
```
```{r message=FALSE, warning=FALSE, echo=FALSE}
df.processed <- list.processed[[1]]
df.freq <- list.freq[[1]]
for(i in 2:n){
df.processed <- rbind(df.processed, list.processed[[i]])
df.freq <- rbind(df.freq, list.freq[[i]])
}
```
Intro
=======================================================================
```{r pressure, echo=FALSE, fig.cap=""}
#knitr::include_graphics("images/antecedente.jpeg")
```
Resumen
=======================================================================
```{r}
value <- df.processed$num.token
name <- df.processed$genero
# Plot
df.processed %>%
ggplot(aes(x=genero, y=num.token, fill=genero)) +
geom_boxplot() +
scale_fill_viridis(discrete = TRUE, alpha=0.6) +
geom_jitter(color="black", size=0.4, alpha=0.9) +
theme_ipsum() +
theme(
legend.position="none",
plot.title = element_text(size=11)
) +
ggtitle("Cantidad de token por género") +
xlab("")
```
```{r, eval = FALSE}
```
Reguetón
=======================================================================
Column
-------------------------------------
### Chart 1
```{r}
set.seed(1234) # for reproducibility
valor.genero <- "reguetón"
media <- df.processed$num.token[df.processed$genero == valor.genero] %>%
mean()
paste("Promedio de token:", round(media, 2))
wordcloud(words = df.freq$word[df.freq$genero == valor.genero],
freq = df.freq$freq[df.freq$genero == valor.genero],
min.freq = 1, max.words=200, random.order=FALSE,
rot.per=0.35,
colors=brewer.pal(8, "Dark2"))
```
Column
-------------------------------------
### Temas con mayor cantidad de token
```{r}
df.processed %>%
top.token("reguetón", 5) %>%
ggbarplot()
```
### Temas con menor cantidad de token
```{r}
df.processed %>%
tail.token("reguetón", 5) %>%
ggbarplot()
```
Trova
=======================================================================
```{r, message = FALSE, echo = FALSE}
print("hola2")
```
Corridos alterados... Próximamente
=======================================================================
```{r, message = FALSE, echo = FALSE}
print("hola2")
```